package com.bsj.travel.system.service;

import com.bsj.travel.def.common.DTO.web.role.RoleDTO;
import com.bsj.travel.def.common.DTO.web.role.RoleSearchDTO;
import com.bsj.travel.def.common.VO.RoleVO;
import com.bsj.travel.def.global.JsonResult;

import java.util.List;

/***
 * @description SysRoleService
 * @author LiJiaXin
 * @version 1.0.0
 * @time 2024/1/11 16:44
 **/
public interface SysRoleService {

    /**
     * 添加角色
     *
     * @param roleDTO
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/11 17:35
     */
    JsonResult addRole(RoleDTO roleDTO);

    /**
     * 删除角色
     *
     * @param id
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/11 17:35
     */
    JsonResult deleteRole(Integer id);

    /**
     * 修改角色
     *
     * @param roleDTO
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/11 17:35
     */
    JsonResult updateRole(RoleDTO roleDTO);

    /**
     * 根据角色id获取角色信息
     *
     * @param id
     * @return com.bsj.travel.def.common.VO.RoleVO
     * @author ljx
     * @time 2024/1/11 17:36
     */
    RoleVO getRoleInfoById(Integer id);

    /**
     * 角色分页
     *
     * @param roleSearchDTO
     * @return com.bsj.travel.def.global.JsonResult<java.util.List<com.bsj.travel.def.common.VO.RoleVO>>
     * @author ljx
     * @time 2024/1/11 17:36
     */
    JsonResult<List<RoleVO>> pageRole(RoleSearchDTO roleSearchDTO);
}
